import java.util.HashSet;
import java.util.Set;

public class Solution {
    public boolean hasCycle(ListNode head) {
        //利用set,将访问过的结点存入set
        //如果存入set访问时失败说明链表循环了,访问了同一个结点
        Set<ListNode> set=new HashSet<>();
        while(head!=null){
            if(!set.add(head)){
                return true;
            }
            set.add(head);
            head=head.next;
        }
        return false;
    }
}